package com.ruoyi.common.sms.core;

import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * ClassName：SmsEnum
 * Package：com.ruoyi.common.sms.core
 * Description：短信通道模板内容
 *
 * @Author：fpy
 * @Create：2025/5/6 - 15:10
 * @Version：v1.0
 */
@Getter
@AllArgsConstructor
public enum SmsEnum {
    // 小程序登录验证码
    TYPE_0("0", "小程序登录验证码"),
    ;

    /**
     * 消息类型（业务类型）
     */
    private final String type;

    /**
     * 名称
     */
    private final String name;

    /**
     * 获取自身对应得模板消息内容
     *
     * @return
     */
    public String getContent(String channel) {
        String key = this.getType() + StrUtil.AT + channel;
        return contents.getOrDefault(key, "");
    }

    /**
     * 通过type查询
     *
     * @param type
     * @return
     */
    public static SmsEnum get(String type) {
        for (SmsEnum value : SmsEnum.values()) {
            if (StringUtils.equals(value.getType(), type)) {
                return value;
            }
        }
        return null;
    }

    private final static Map<String, String> contents;

    static {
        contents = new HashMap<>();

        contents.put(TYPE_0.type + StrUtil.AT + "entinfo", "验证码：%1s（%2s分钟内有效）。您正在登录九仞平台，请勿将验证码告诉他人哦。");

    }
}
